﻿using System;

namespace Mbs.Factories
{
    [Serializable]
    public abstract class FactoryBase<TInput,TTarget>:MarshalAndDisposableObject, IFactory<TInput,TTarget>,IFactory
    {

        public abstract TTarget Create(TInput input);

        object IFactory.Create(object input)
        {
            return Create((TInput)input);
        }

    }
}
